/* Autore: Nicola Agosti */
/*
Scrivere un programma che chieda all'utente di inserire 2 numeri interi e ne calcoli
e visualizzi la media come int, come float.
*/

#define _CRT_SECURE_NO_WARNINGS /* Necessario se utilizziamo Visual Studio */

#include <stdio.h>
#include <stdlib.h>

int main()
{
	/* Dichiaro le variabili */
	/* La parola chiave "float" indica che la variabile puņ memorizzare un numero decimale (a singola precisione) */
	int num_1, num_2, media_int;
	float media_float_no_cast, media_float;

	/* Chiedo di inserire i due numeri interi */
	printf("Inserire il primo numero intero: ");
	scanf("%d", &num_1);

	printf("Inserire il secondo numero intero: ");
	scanf("%d", &num_2);

	/* Calcolo la media come "int" */
	media_int = (num_1 + num_2) / 2;

	/* Calcolo la media come "float" */
	/* Senza eseguire il cast a "float" degli "int" */
	media_float_no_cast = (num_1 + num_2) / 2;
	/* Eseguendo il cast a "float" degli "int" */
	media_float = (float)(num_1 + num_2) / 2;

	/* Visualizzo i risultati utilizzando la funzione "printf" */
	/* Uso lo specificatore di formato [%d] => per le variabili "int" */
	/* Uso lo specificatore di formato [%f] => per le variabili "float/double" */
	printf("\nMedia int: %d", media_int);
	printf("\nMedia float - Senza cast: %f", media_float_no_cast);
	printf("\nMedia float - Dopo cast esplicito: %f", media_float);

	return 0;
}